Variablen vergleichen in Assembler

← Zurück zum Forum

Ich habe mal wieder eine Frage an die Profis:

Ich habe eine 16-bit Variable nennen wir sie var1/var1+1 - diese Variable erhöht sich stetig. Nun möchte ich abfragen wenn sie in einem Bereich ist - sagen wir mal im Speicher zwischen 20000 ($4E20) und z.B. 22000 ($55F0). Wenn die Variable sich in diesem Bereich aufhält passiert irgendwann eine bestimmte Aktion. Wie mache ich das am geschicktesten? Gruß Peter

AntwortZitat

Zwei 16-Bit-Variablen kannst du so vergleichen:

lda var1
cmp var2
lda var1+1
sbc var2+1
bcc var1_ist_kleiner_var2

(oder: bcs var1_ist_groeßergleich_var2)

Bei dir ist var2 eine Konstante, setze also lower_limit = $4e20 und ersetze var2 durch #lower_limit. Und dann ein zweiter Vergleich mit higher_limit = $55f0.

AntwortZitat